package com.workcell.workdata.xthings.entity.mqtt;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.workcell.workdata.xthings.constant.ExtOutputAttributes;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 智能罐体
 * @TableName t_smart_tanks_data
 */
@TableName(value ="t_smart_tanks_data")
@Data
@Accessors(chain = true)
public class SmartTanksData implements Serializable {
    /**
     * 主键
     */
    private String id;

    /**
     * 主设备编码
     */
    private String masterDeviceNo;

    /**
     * 从设备编码
     */
    private String slaveDeviceNo;

    /**
     * 机器码
     */
    private String addressId;

    /**
     * 厂商编码
     */
    private String manufacturerCode;

	/**
	 * 进料泵状态（1：运行中，0：停止中）
	 */
	@ExtOutputAttributes(key = "进料泵状态（1：运行中，0：停止中）")
	private String feedPumpStatus;

	/**
	 * 出料泵状态（1：运行中，0：停止中）
	 */
	@ExtOutputAttributes(key = "出料泵状态（1：运行中，0：停止中）")
	private String dischargePumpStatus;
	/**
	 * 进量累计流量（无计算）
	 */
	@ExtOutputAttributes(key = "进量累计流量（无计算）")
	private String feedCumulativeFlow;
	/**
	 * 进料累计流量（计算K值）
	 */
	@ExtOutputAttributes(key = "进料累计流量（计算K值）")
	private String computeFeedCumulativeFlow;
	/**
	 * 进料瞬时流量
	 */
	@ExtOutputAttributes(key = "进料瞬时流量")
	private String instantFeedCumulativeFlow;

	/**
     * k值
	 */
	@ExtOutputAttributes(key = "k值")
	private String k;

	/**
     * 液位高度
	 */
	@ExtOutputAttributes(key = "液位高度")
	private String levelHigh;
	/**
	 * 液位方数
	 */
	@ExtOutputAttributes(key = "液位方数")
	private String levelSquare;

	/**
	 * 校准失败（1：校准失败，0：无状态）
	 */
	@ExtOutputAttributes(key = "校准失败（1：校准失败，0：无状态）")
	private String calibrationFail;

	/**
	 * 校准成功（1：校准成功，0：无状态）
	 */
	@ExtOutputAttributes(key = "校准成功（1：校准成功，0：无状态）")
	private String calibrationSuccess;
	/**
	 * 校准时间（单位:毫秒）
	 */
	@ExtOutputAttributes(key = "校准时间（单位:毫秒）")
	private String calibrationTime;

	/**
	 * 出料累计流量（无计算）
	 */
	@ExtOutputAttributes(key = "出料累计流量（无计算）")
	private String dischargeCumulativeFlow;
	/**
	 * 出料累计流量（计算K值）
	 */
	@ExtOutputAttributes(key = "出料累计流量（计算K值）")
	private String computeDischargeCumulativeFlow;
	/**
	 * 出料瞬时流量
	 */
	@ExtOutputAttributes(key = "出料瞬时流量")
	private String instantDischargeCumulativeFlow;

	/**
	 * 进料阀门开度
	 */
	@ExtOutputAttributes(key = "进料阀门开度")
	private String feedValveOpen;
	/**
	 * 出料阀门开度
	 */
	@ExtOutputAttributes(key = "出料阀门开度")
	private String dischargeValveOpen;

	/**
	 * 校准运行状态（1：运行中，0：停止中）
	 */
	@ExtOutputAttributes(key = "校准运行状态（1：运行中，0：停止中）")
	private String calibrationStatus;

	/**
	 * 液位上限
	 */
	@ExtOutputAttributes(key = "液位上限")
	private String levelHighLimit;

	/**
	 * 液位下限
	 */
	@ExtOutputAttributes(key = "液位下限")
	private String levelLowLimit;

	/**
	 * 校准时间设定（单位:毫秒）
	 */
	@ExtOutputAttributes(key = "校准时间设定（单位:毫秒）")
	private String calibrationTimeSet;

	/**
	 * 校准需要的液体方数（单位:立方米）
	 */
	@ExtOutputAttributes(key = "校准需要的液体方数（单位:立方米）")
	private String calibrationTimeLevel;
	/**
	 * 校准启动
	 */
	private String calibrationStart;

	/**
     * 数据入库时间
     */
    private LocalDateTime createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
